Python 用read | 您所在的位置:网站首页 › js parsererror › Python 用read |
读取txt文件的代码如下: txtData = pd.read_csv(datafile, sep =',', compression = 'gzip', header=None)出现如下错误: ParserError: Error tokenizing data. C error: Expected 57 fields in line 66, saw 58目前网上普遍的解决方法都是在read_csv()中添加: error_bad_lines=False添加这个参数的意思是跳过有问题的行,使其不报错。 但个人觉得这只是一种换汤不换药的解决方法,甚至会因为忽视错误造成最后读取的数据存在问题。 所以我的解决方法是,定位到错误的行,如我这里是第66行,错误的意思是,本应该是57列数据,但现在发现有58列。在我仔细分析之后,发现某一列中有用逗号拼接的字符串,而我的txt文件恰好也是用逗号分隔的,这就造成了在read_csv读取时,用逗号拼接的字符串(原本用一列表示)被分隔成了两列,造成最终多了一列。 既然知道了错误原因,那就很好办了,要么将用逗号分隔的字符串用其他符号进行分隔,要么读取的txt文本用其他符号分隔。 这个错误也提醒我,对于DataFrame数据处理时,要尽量避免数据中出现像逗号这样常见的分隔符。
|
CopyRight 2018-2019 实验室设备网 版权所有 |